# -*- coding: utf-8 -*-
"""
  @author: xiaoxiong
  @data:  2021/10/18 21:08
  @function: 游戏主要入口
"""
'''
游戏框架搭建
  1.main.py 游戏主入口
  2.source/components 放人物，道具相关的代码 
   例如 box.py盒子,brick.py砖块，coin.py金币，enemy.py敌人，player.py主角,powerup.py强化，stuff.py物品，info.py 游戏信息
  3.source/state  游戏状态 存放游戏各个阶段要做的事情
   例如 main_menu.py 主界面 load_screen.py 载入界面 level.py 关卡
  4.constants.py 常量(屏幕的宽高，马里奥的招数) 
    sound.py 音乐/音效 
    setup.py 启动代码
    tools.py 工具代码
    notes.txt 记事本 记录过程中遇到的坑，bug
'''
from source import tools
from source.state import main_menu, load_screen, level


def main():
    # game = tools.Game()

    # 初始化主菜单界面 测试代码
    # state = main_menu.MainMenu()
    # game.run(state)  # 这里做演示，不合适这么做

    # game.run(setup.GRAPHICS)

    # 状态切换代码
    # state = load_screen.LoadScreen()
    # state = level.Level()
    # game.run(state)

    state_dict = {
        'main_menu': main_menu.MainMenu(),
        'load_screen': load_screen.LoadScreen(),
        'level': level.Level(),
        'game_over': load_screen.GameOver()
    }

    game = tools.Game(state_dict, 'main_menu')
    game.run('main_menu')


if __name__ == '__main__':
    main()




















